<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <script src="../vue.js"></script>
  </head>

  <body>
    <div id="app">
      <!-- 
        data数据是对象类型
          - 我们对对象类型的操作是: 修改 删除 新增
          - 只有修改才会有响应式,删除和新增是没有响应式的
          - 原因:vue在初始渲染的时候对data数据遍历使用了Object.defineProperty的getter和setter存取器属性重写,未来新增和删除属性是无法监听到的
          - 我们要用到的属性一般都是预先定义在data数据中,不要在未来再去添加或删除


       -->
      <button @click="person.age++">直接修改对象属性的值</button>
      <button @click="person.height='175'">给对象新增一个身高的属性</button>
      <button @click="delete person.sex">删除对象的sex属性</button>
      <p>姓名:{{person.name}}</p>
      <p>性别:{{person.sex}}</p>
      <p>年龄:{{person.age}}</p>
      <p>年龄:{{person.height}}</p>
    </div>
    <script>
      Vue.config.productionTip = false;

      const vm = new Vue({
        el: "#app",
        data() {
          return {
            person: {
              name: "张三",
              age: 18,
              sex: "男",
            },
          };
        },
      });
    </script>
  </body>
</html>
